package com.datoucai.service;

import com.datoucai.dto.BatchQueryCommentDto;
import com.datoucai.dto.CommentDetailInfoDto;
import com.datoucai.dto.CommentInfoDto;
import com.datoucai.dto.CommentResultInfoDto;
import com.datoucai.param.SimpleCommentInfoDto;

import java.util.List;

public interface ICommentService {
    /**
     * 增加评论
     * @param dto
     * @return
     */
    int addComment(CommentInfoDto dto);

    /**
     * 删除评论
     * @param dto
     * @return
     */
    int deleteComment(CommentInfoDto dto);


    /**
     * 查询一级评论和二级回复列表(有层级关系)
     * @param dto
     * @return {@link CommentResultInfoDto }
     */
    CommentResultInfoDto queryCommentByParam(CommentInfoDto dto);

    /**
     * 查询评论列表-评论和回复(平级关系)
     * @param dto
     * @return {@link CommentResultInfoDto }
     */
    CommentResultInfoDto queryCommentList(CommentInfoDto dto);

    /**
     * 查询评论详情
     * @param id
     * @return {@link CommentDetailInfoDto }
     */
    CommentDetailInfoDto queryCommentDetailById(Long id);

    /**
     * 查询评论详情
     * @param dto
     * @return {@link CommentDetailInfoDto }
     */
    List<SimpleCommentInfoDto> batchQueryCommentByResourceIds(BatchQueryCommentDto dto);
}
